8.4 workflow 专项R包及论文脚本
8.4.1 SDMselsect(最佳模型和因子选择)
## SDMselect工具包:提供了完整流程工具,可对接gplot绘制;
## 主要功能是提供最佳优化筛选环境因子(##基于模型的auc判读),以及最优环境因子选择后的最优模型参数选择, ,用于高精度建模;另外,这个包还提供了对不确定性参数的分析,通过设置每次参数,参数差异可以反应在建模结果中,构建环境图层来反映物种生态位建模过程中不确定性显著的区域;
## 参考网页教程链接:
https://statnmap.github.io/SDMSelect/articles/SDM_Selection.html
https://github.com/statnmap/SDMSelect
###但理论上这个包存在问题,最优环境因子的选择基于auc或者其他单一指数本身就是存在问题的,这种presence/absence的问题再进项双向判读时使用可能不适合;另外,最优环境因子需要根据建模的用途来选择,最优模型并不代表在转移或者其他用途时效果是最好的,需要考虑到更复杂的背景过程:当我们提高精度和最佳模型匹配时,算法,是否意味着过拟合,而降低模型的泛化能力。模型的泛化能力在一定程度上是反映物种分布间容差关系,夹紧程度过高时,会导致缩小了物种的潜在分布适生区。需要明白的关键问题是:模型的建立基础是基础生态位,而不是现实生态位。
8.4.2 SDMvspecies(构建虚拟物种)
## SDMvspecies用于构建sdm分析中的物种建模分布数;2015年就已经建立;
## 详参:
https://github.com/howl-anderson/sdmvspecies
##
8.4.3 sdmShiny (因子变异可视化)
## 这个包提供了欧洲数十种应景观建模分析的物种,并根据未来环境变化(主要是指降雨和升温)以及生物相互作用(#食草动物)来揭示在全球环境变化下,物种适生区发生转移的过程。
## 这个包可能用于建模分析教学的;但很值得学习;不能手动加入参数,而且升温、降雨和生物相互作用本身就是非线性的,以线性来构建本身就是存问题的;
## 非R包,主要是shiny构建的网站:
https://github.com/anders-kolstad/sdmShiny
https://anderskolstad.shinyapps.io/sdmShiny/
8.4.4 rmaxent/sdm (提高模型运行效率)
## 作者:开发了sdm和rmaxent两个R包;
## R包参考链接及文档案例:
https://github.com/johnbaums/rmaxent
## 安装R包:
remotes::install_github('johnbaums/rmaxent')
## rmaxent作者所说,本包是基于c++重构的,在使用peoject进行投影时至少是maxent原生包的两倍以上,在进行数据批处理的时候特别有用;
## 该包的其他重要功能,可视化解析maxent生成 lambda文件;重构mass分析结果(#mess分析是基于地理距离计算的相似性,现在主流的计算方式是环境距离的计算mop分析)
## sdm
## 参考案例教学:
https://github.com/johnbaums/sdm
## 安装R包:
remotes::install_github('johnbaums/sdm')
## 说明::
安装失败,可能是本机的R与rjava有些问题;需要重装之后再安装;
## 关于sdm构建脚本流程,实现批量实现物种建模,能和rmaxent包的结果进行很好的结合;如果后续有需要在安装!
8.4.4 MinBAR:确定最小buffer
## minbar包说明:
该报主要基于分布区质心由里向外转移确定buffer缓冲区,然后利用构建的缓冲区采样环境背景,再基于环境背景进行Boyce Index作为模型性能的度量,直至确定满意的模型为止;(##关于Boyce Index目前认为是评估模型最为合理的方式)
## minabar包的具体参数实例:
参见:https://github.com/xavi-rp/MinBAR
参见:https://github.com/xavi-rp/MinBAR/tree/master/vignettes
## R包安装:
library(devtools)
install_github("xavi-rp/MinBAR")
8.4.5 SDMprior(纳入生理因素)
## 鱼类SDM的时空建模
## sdmprior包的作用是试探性的将植物生理极限纳入到建模变化中区,进而起到直接的约束作用;
## 本包规定了特殊的数据范式,可以根据数据结果
## 这里涉及的时空模型较为复杂,可能和传统的建模方式存在差异;但包含详细的空间建模知识和体系,用于研究包含丰富的历史数据的渔场数据;
https://github.com/James-Thorson-NOAA/VAST#references
8.4.6 Phylio-SDM(构建系统与物种建模)
## 2017年刚发表的文章,用于将系统发生信息和物种巩固才能信息结合在一起,计算在常规物种建模中使用的系统发生预测因子;
##具体代码如下:
https://github.com/MoralesCastilla/Phylo-SDMs
## 文章链接如下:
## 该作者还在github上提供了其他的代码:
1、用于研究作物品种多样性的物候和气候适应性预测:
## 建模工作流程如下:
物候模型的参数化(通过PMP V5.0外部完成; Chuine等人,2013年《植物发展模型》,《物候学:综合环境科学》,Springer,第275-293页)。
气候数据提取,偏差校正和存储。
物候预测(对给定年份和品种的出芽,开花和确证日期进行预测)。
确定绝对时期(1950-1980年)成熟的气候范围。
预测给定品种和年份的成熟过程的气候范围。
## 代码网址如下:https://github.com/MoralesCastilla/PhenoDiversity
8.4.7 maxnet R运行maxent
## maxnet在多个R中充当着重要参数代码;
## 本包可以调参运行,但是上面有提交的rmaxent(C++)可以显著的提高运行效率。
## 与此包相匹配的特殊R包是ENMeval用于,maxent的调参运行,筛选最优参数,这一部分参见6.1.3;
8.4.8 SDMtune(模型优化)
## SDMtune说明:
主要用于为物种分布模型执行变量选择和模型调整,它还提供了一些实用程序来显示结果;
# 参考链接:
https://github.com/ConsBiol-unibern
## 详细代码参见:
https://github.com/ConsBiol-unibern/SDMtune/tree/master/vignettes/articles
## 代码可以实现的功能如下:
评估模型
评估策略
解决错误
做出预测
准备数据
训练模型
训练音调存在缺勤勤模型
调超参数
最高变量
变量选择
8.4.8 iSDM(物种入侵)
## 此包主要是为了开展物种入侵研究过程,提供几张特色代码服务:
##如:
1、利用library(virtualspecies)构建虚拟物种;
2、进行分层抽样构建物种环境背景数据;
3、三维可视化环境背景空间在空间主轴上;
4、构建物种扩散的核平划函数(#但是这个存在问题,但总体来说也算作进步吧)
5、可视化潜在分布与实际分布点之间的关系;
## 安装R包:
install.packages("iSDM")
library(iSDM)
## R包案例参考:
https://github.com/TarekHattab/iSDM
8.4.9 transformeR(环境图层聚类分析)
## 使用SantanderMetGroup/transformeR包
## 该包寄存在github上,参考链接如下:
https://github.com/SantanderMetGroup/transformeR/wiki/Clustering-Algorithms
## 提供聚类算法列表:
K-means/Hierarchical(层次结构)/SOM/
还有另外另个气候分析中常用的分析方法;
8.4.10 hSDM(贝叶斯建模)
## R包简介:
1、hSDM是一个R包,用于估计分层贝叶斯物种分布模型的参数。这种模型允许解释观察结果(物种的发生和丰度),这是由于包括生态过程(栖息地适应性,空间依赖性和人为干扰)和观察过程(物种可检测性)在内的几个层次过程的结果。分级物种分布模型对于准确表征物种的环境响应,预测其发生概率以及评估模型结果的不确定性至关重要。
2、需要说明的是这个包的实际用途是检测空间自相关造成的 物种分布模型的不确定性;
## 安装R包:
install.packages("hSDM")
## 该包的数据网址:(包含实例)
https://github.com/ghislainv/hSDM